package com.alan.dfs.msg;

/**
 * 错误码表.
 *
 * @author shixing
 */
public enum Code {
    // 1024以内, 同HTTP
    SUCCESS(200, "Success."),
    UNAUTHORIZED(401, "用户未授权"),
    REQUEST_PARAM_ERROR(415, "参数错误"),
    INTERNAL_ERROR(500, "服务器内部异常"),
    API_AUTH_TOKEN_MISSING(403, "Token缺失"),
    API_AUTH_TOKEN_INVALID(403, "Token校验失败"),
    API_AUTH_USER_STATUS_ERROR(403, "用户状态异常"),
    API_AUTH_USER_PASSWORD_ERROR(403, "用户密码错误"),

    // 2001 ~ 3000, DFS文件模块
    API_DFS_REQUEST_CHUNK_LOCK_ERROR(2001, "请求块锁失败"),
    API_DFS_CANNOT_GET_CHUNK_CURRENT_ERROR(2002, "无法获取当前文件上传到第几块"),
    API_DFS_CHUNK_CURRENT_UPLOADED_ERROR(2003, "当前文件块已上传"),
    API_DFS_CHUNK_CURRENT_WAIT_ERROR(2004, "当前文件块需要等待上传,稍后请重试"),
    API_DFS_GET_REMOTE_FILE_URL_ERROR(2005, "获取远程文件路径出错"),
    API_DFS_UPLOAD_REMOTE_SERVER_ERROR(2006, "上传远程服务器文件出错"),
    API_DFS_CANNOT_GET_REMOTE_FILE_ERROR(2007, "无法获取上传远程服务器文件出错"),
    API_DFS_UPDATE_REMOTE_FILE_ERROR(2008, "更新远程文件出错"),
    API_DFS_UPLOAD_FILE_ERROR(2009, "上传错误"),
    API_DFS_FILE_MD5_ERROR(2010, "文件MD5不能为空"),
    API_DFS_CANNOT_GET_FILE_LOCK_OWNER_ERROR(2011, "无法获取文件锁拥有者"),
    API_DFS_FILE_IS_UPLOADING_ERROR(2012, "当前文件已有人在上传,您暂无法上传该文件"),

    // 10000 ~ 49999, 客户端使用，并添加"API_"前缀
    API_ACCOUNT_NOT_EXIST(10000, "用户不存在"),
    API_ACCOUNT_EXISTED(10001, "用户已存在")
    ;

    private long code;
    private String message;

    Code(long code, String message) {
        this.code = code;
        this.message = message;
    }

    public long getCode() {
        return code;
    }

    public String getMessage() {
        return message;
    }
}
